﻿#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include <stdlib.h>
//int main()
//{
//	FILE* pFile; 
//	pFile = fopen("example.txt", "wb");
//	fputs("This is an apple.", pFile); 
//	fseek(pFile, 18, SEEK_SET); 
//	fputs(" test", pFile);
//	fclose(pFile);
//	return 0;
//}

//fseek
//int main()
//{
//	FILE* pFile;
//	pFile = fopen("example.txt", "wb");
//	fputs("This is an apple.", pFile);
//	fseek(pFile, 0, SEEK_END);
//	long size = ftell(pFile);
//	printf("文件大小为: %ld bytes", size);
//	return 0;
//}

//rewind
//int main() 
//{
//	int n;
//	FILE* pFile;
//	char buffer[27]; 
//	pFile = fopen("example.txt", "w+");
//
//	for (n = 'A'; n <= 'Z'; n++) 
//		fputc(n, pFile); 
//
//	rewind(pFile);
//	fread(buffer, 1, 26, pFile); 
//	fclose(pFile); 
//	buffer[26] = '\0'; 
//	printf(buffer); 
//	return 0;
//}


//foef
//int main(void) {
//	int c; 
//	// 注意：int，⾮char，要求处理EOF 
//	FILE* fp = fopen("test.txt", "r"); //只读
//	
//	if(!fp) 
//	{ 
//		perror("File opening failed");
//		return EXIT_FAILURE; 
//	} 
//
//	//fgetc 当读取失败的时候或者遇到⽂件结束的时候，都会返回EOF 
//	while ((c = fgetc(fp)) != EOF) 
//		// 标准C I/O读取⽂件循环
//	{ 
//			putchar(c);
//	} 
//	//判断是什么原因结束的 
//	if (ferror(fp))
//		puts("I/O error when reading"); 
//	else if (feof(fp)) 
//		puts("End of file reached successfully");
//	fclose(fp);
//	return 0;
//
//}


int main()
{
	FILE *fp = fopen("data.txt", "r");

	if (fp == NULL)
	{
		perror("Error opening file - r");
		return 1;
	} 

	FILE* fr = fopen("data_copy.txt", "w");
	if (fr == NULL)
	{
		perror("Error opening file- w:");
		return 1;
	}
	int ch;
	while ((ch = fgetc(fp)) != EOF)
	{
		fputc(ch, fr);
	}
	fclose(fp);
	fclose(fr);
	fp = NULL;
	fr = NULL;
	return 0;
}